/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package svntest;

import java.util.ArrayList;
import java.util.Hashtable;

/**
 *
 * @author joao paulo
 */

public class Main {
  
    public static void main(String[] args) {
    /*

     Cada um de vocês fará uma modificação específica neste arquivo. Isto simulará o trabalho colaborativo
   que vocês terão, que em muitas vezes se mostrará conflituoso, como neste exemplo, em que todos voces farão modificações no mesmo arquivo.
   A idéia aqui não é saber o que vocês sabem de Java (por isso os métodos sao bem simples de implementar) e sim pedir a vocês que insiram
   funcionalidades dependentes, ou não, umas das outras para que se ambientalizem com a mecânica e os comandos do SVN e também dos eventuais
   conflitos de código.
   
   Bom, este exemplo nada mais é do que extrair logins e hosts dos emails abaixo e exibi-los.Mais abaixo segue as funções que cada um deverá implementar

   IMPORTANTE!! ---> Lembrem-se de realizar o UPDATE no projeto para evitar que modificações feitas por você interfira na
   modificação de um outro colega. Também é recomendado limpar o projeto para não enviar .class e outros "lixos" ao repositório no caso de
   voces escolherem a opção de submeter o projeto como um todo. Caso escolham enviar um único arquivo esse procedimento de limpeza é desnecesário.
   
   */

        String foo = "raquel.aa@gmail.com, yurisalmeida@gmail.com, jpalmeida.uefs@gmail.com, douglaseusilva@gmail.com, bruno_paan@hotmail.com, ,chaustaluz@hotmail.com";

	ArrayList<String> separatedEmails = splitOut(foo);
	ArrayList<String> logins = extractLogins(separatedEmails);
	ArrayList<String> hosts = extractHosts(separatedEmails);
	Hashtable<String,String> indexedHosts = correlateHosts(hosts);
	formattedOut(logins,indexedHosts);
    }

    //Esse método somente separará os emails (sem vírgulas) em strigs individuais e as armazenará em um arraylist de strings
    //formato: login@host.com
    //Responsável: Charlene
    private static ArrayList<String> splitOut(String foo){
        return null;
    }

    //Este método extrairá da lista de emails os logins de cada email e os armazenará em outro arraylist de strings
    //Responsável: Douglas
    private static ArrayList<String> extractLogins(ArrayList<String> emails) {
        return null;
    }

    //Este método extrairá da lista de emails os hosts de cada email e os armazenará em outro arraylist de strings
    //formato: host (sem o ".com")
    //Responsável: Kaio
    private static ArrayList<String> extractHosts(ArrayList<String> emails) {    
        return null;
    }

    //Este método correlacionará os hosts extraídos com as respectivas urls destes host (podem inserir as urls manualmente mesmo :) )
    //formato (na hashtable): host,url ex: hotmail,www.hotmail.com
    //Responsável: Yuri
    private static Hashtable<String,String> correlateHosts(ArrayList<String> hosts) {
        return null;
    }

    //E este método somente exibirá as informações extraídas anteriormente no formato:
    //Login:login  host: host	link: url
    //Responsável: João Paulo (é, eu mesmo vou fazer esse) :)
    private static void formattedOut(ArrayList<String> logins, Hashtable<String,String> indexedHosts) {
    }
}
